home *** CD-ROM | disk | FTP | other *** search
- import com.siemens.mp.io.File;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.util.Vector;
-
- public class MessageHandler {
- protected static final int ID_Inbox = 1;
- protected static final int ID_Outbox = 2;
- protected static final int ID_SentItems = 3;
- protected static final int ID_DeletedItems = 4;
- private static int retCode;
- private static int iRecordsNo = -1;
- static final String tempFileName = "box.tmp";
- private static final int buffLen = 2048;
-
- public static void closeFile() {
- try {
- Globals.file.close(Globals.fileDesc);
- } catch (Exception var0) {
- }
-
- }
-
- public static void deleteBox(int var0) {
- try {
- String var1 = getFileName(var0) + Globals.fileExtension;
- File var10000 = Globals.file;
- int var2 = File.delete(var1);
- } catch (Exception var3) {
- }
-
- }
-
- public static void deleteRecord(int var0, int var1) {
- try {
- try {
- File var10000 = Globals.file;
- File.delete("box.tmp");
- } catch (Exception var6) {
- }
-
- openFile(var0);
- Globals.fileDesc2 = Globals.file2.open("box.tmp");
-
- for(int var2 = 0; var2 < var1; ++var2) {
- Globals.file.seek(Globals.fileDesc, 2048 * var2);
- Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 2048);
- Globals.file2.seek(Globals.fileDesc2, 2048 * var2);
- Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 2048);
- }
-
- for(int var3 = var1 + 1; var3 < iRecordsNo; ++var3) {
- Globals.file.seek(Globals.fileDesc, 2048 * var3);
- Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 2048);
- Globals.file2.seek(Globals.fileDesc2, 2048 * (var3 - 1));
- Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 2048);
- }
-
- closeFile();
- Globals.file2.close(Globals.fileDesc2);
- deleteBox(var0);
- String var4 = getFileName(var0);
- File var8 = Globals.file2;
- int var5 = File.rename("box.tmp", var4 + Globals.fileExtension);
- } catch (Exception var7) {
- }
-
- }
-
- public static String getBoxName(int var0) {
- String var1 = "?error?";
- switch (var0) {
- case 1:
- var1 = MicroMail.r.getText(52);
- break;
- case 2:
- var1 = MicroMail.r.getText(53);
- break;
- case 3:
- var1 = MicroMail.r.getText(54);
- break;
- case 4:
- var1 = MicroMail.r.getText(55);
- }
-
- return var1;
- }
-
- public static String getFileName(int var0) {
- String var1 = "?error?";
- switch (var0) {
- case 1:
- var1 = "Inbox";
- break;
- case 2:
- var1 = "Outbox";
- break;
- case 3:
- var1 = "Sent";
- break;
- case 4:
- var1 = "Deleted";
- }
-
- return var1;
- }
-
- public static Message getMessage(int var0) {
- Message var1 = new Message();
-
- try {
- Globals.file.seek(Globals.fileDesc, 2048 * var0);
- Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 2048);
- ByteArrayInputStream var2 = new ByteArrayInputStream(Globals.byteArray);
- DataInputStream var3 = new DataInputStream(var2);
- var1.ID = var0;
- var1.subject = var3.readUTF();
- var1.unread = var3.readBoolean();
- var1.from = var3.readUTF();
- var1.to = var3.readUTF();
- var1.replyTo = var3.readUTF();
- var1.cc = var3.readUTF();
- var1.bcc = var3.readUTF();
- var1.date = var3.readUTF();
- var1.contentType = var3.readUTF();
- var1.body = var3.readUTF();
- var3.close();
- Object var6 = null;
- var2.close();
- Object var5 = null;
- } catch (Exception var4) {
- }
-
- return var1;
- }
-
- public static Vector getMessageListByBox(int var0) {
- try {
- Vector var1 = new Vector(iRecordsNo);
-
- for(int var2 = 0; var2 < iRecordsNo; ++var2) {
- var1.addElement(getMessageListItem(var2));
- }
-
- return var1;
- } catch (Exception var3) {
- return null;
- }
- }
-
- public static MessageListItem getMessageListItem(int var0) {
- MessageListItem var1 = new MessageListItem();
-
- try {
- Globals.file.seek(Globals.fileDesc, 2048 * var0);
- Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 2048);
- ByteArrayInputStream var2 = new ByteArrayInputStream(Globals.byteArray);
- DataInputStream var3 = new DataInputStream(var2);
- var1.subject = var3.readUTF();
- var1.unread = var3.readBoolean();
- var3.close();
- Object var6 = null;
- var2.close();
- Object var5 = null;
- } catch (Exception var4) {
- }
-
- return var1;
- }
-
- public static void openFile(int var0) {
- try {
- Globals.fileDesc = Globals.file.open(getFileName(var0) + Globals.fileExtension);
- iRecordsNo = Globals.file.length(Globals.fileDesc) / 2048;
- } catch (Exception var1) {
- }
-
- }
-
- public static void storeMessage(Message var0, int var1) {
- ByteArrayOutputStream var3 = new ByteArrayOutputStream();
- DataOutputStream var4 = new DataOutputStream(var3);
-
- try {
- var4.writeUTF(var0.subject);
- var4.writeBoolean(var0.unread);
- var4.writeUTF(var0.from);
- var4.writeUTF(var0.to);
- var4.writeUTF(var0.replyTo);
- var4.writeUTF(var0.cc);
- var4.writeUTF(var0.bcc);
- var4.writeUTF(var0.date);
- var4.writeUTF(var0.contentType);
- if (var0.body == null) {
- var4.writeShort(Globals.bodyLen);
- var4.write(Globals.byteArray, Globals.bodyStart, Globals.bodyLen);
- } else {
- var4.writeUTF(var0.body);
- }
-
- byte[] var2 = var3.toByteArray();
- var4.close();
- Object var8 = null;
- var3.close();
- Object var7 = null;
- if (var0.ID < 0) {
- Globals.file.seek(Globals.fileDesc, Globals.file.length(Globals.fileDesc));
- Globals.file.write(Globals.fileDesc, var2, 0, 2048);
- var0.ID = iRecordsNo++;
- } else {
- Globals.file.seek(Globals.fileDesc, 2048 * var0.ID);
- Globals.file.write(Globals.fileDesc, var2, 0, 2048);
- }
- } catch (Exception var6) {
- System.out.println("error");
- ((Throwable)var6).printStackTrace();
- }
-
- System.gc();
- }
- }
-